﻿using System.Text.Json.Serialization;

namespace WYD.Model.AI.OpenAIApi;

public class ChatCompletionRequest
{
    public string Model { get; set; }
    public List<Message> Messages { get; set; }
    // 可以添加更多参数，如 temperature, max_tokens 等
    
    /// <summary>
    /// 是否以流式方式返回响应。
    /// </summary>
    [JsonPropertyName("stream")]
    public bool? Stream { get; set; }
    
    /// <summary>
    /// 采样温度，控制生成结果的随机性。
    /// </summary>
    [JsonPropertyName("temperature")]
    public double? Temperature { get; set; }

    /// <summary>
    /// Nucleus Sampling 参数，控制模型输出的范围。
    /// </summary>
    [JsonPropertyName("top_p")]
    public double? TopP { get; set; }

    /// <summary>
    /// 最大生成令牌数。
    /// </summary>
    [JsonPropertyName("max_tokens")]
    public int? MaxTokens { get; set; }
}